From 05a04604e5aae9da507d5aa5898cb50cbd5546c6 Mon Sep 17 00:00:00 2001 From: "vhanquez@kneesa.uk.xensource.com" Date: Sat, 31 Dec 2005 15:58:44 +0000 Subject: [PATCH] reorganize code to avoid duplication Signed-off-by: Vincent Hanquez --- .../drivers/xen/console/console.c | 40 ++++++++----------- 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/linux-2.6-xen-sparse/drivers/xen/console/console.c b/linux-2.6-xen-sparse/drivers/xen/console/console.c index 9183a47af8..1c838f166e 100644 --- a/linux-2.6-xen-sparse/drivers/xen/console/console.c +++ b/linux-2.6-xen-sparse/drivers/xen/console/console.c @@ -314,39 +314,31 @@ static void __xencons_tx_flush(void) { int sent, sz, work_done = 0; - if (xen_start_info->flags & SIF_INITDOMAIN) { - if (x_char) { + if (x_char) { + if (xen_start_info->flags & SIF_INITDOMAIN) { + while (x_char) + if (xencons_ring_send(&x_char, 1) == 1) + break; + } else kcons_write_dom0(NULL, &x_char, 1); - x_char = 0; - work_done = 1; - } + x_char = 0; + work_done = 1; + } - while (wc != wp) { - sz = wp - wc; - if (sz > (wbuf_size - WBUF_MASK(wc))) - sz = wbuf_size - WBUF_MASK(wc); + while (wc != wp) { + sz = wp - wc; + if (sz > (wbuf_size - WBUF_MASK(wc))) + sz = wbuf_size - WBUF_MASK(wc); + if (xen_start_info->flags & SIF_INITDOMAIN) { kcons_write_dom0(NULL, &wbuf[WBUF_MASK(wc)], sz); wc += sz; - work_done = 1; - } - } else { - while (x_char) { - if (xencons_ring_send(&x_char, 1) == 1) { - x_char = 0; - work_done = 1; - } - } - - while (wc != wp) { - sz = wp - wc; - if (sz > (wbuf_size - WBUF_MASK(wc))) - sz = wbuf_size - WBUF_MASK(wc); + } else { sent = xencons_ring_send(&wbuf[WBUF_MASK(wc)], sz); if (sent == 0) break; wc += sent; - work_done = 1; } + work_done = 1; } if (work_done && (xencons_tty != NULL)) { -- 2.30.2